package cn.swu.lyx.todolist

import android.annotation.SuppressLint
import android.content.ContentValues
import android.content.Intent
import android.database.sqlite.SQLiteOpenHelper
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.widget.EditText
import android.widget.TextView
import android.widget.Toast
import androidx.recyclerview.widget.LinearLayoutManager
import kotlinx.android.synthetic.main.activity_add.*
import kotlinx.android.synthetic.main.activity_main.*

class AddActivity : AppCompatActivity() {

    val TAG="@@ADD"
    lateinit var helper: DBHelper
    //新添加的这条ID=0最前放
    var todoId:Int=0

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_add)

        var intent: Intent=getIntent()
        todoId=intent.getIntExtra("todoId",0)
       init(todoId)
    }

    fun init(todoId: Int) {
       helper=DBHelper(this,"todo.db",3)
       if(todoId!=0){
           readInDb(todoId)
       }
      submit()
   }

  private fun readInDb(todoId: Int) {
      val db=helper.readableDatabase
      val Content=db.execSQL("select content from ${Todo.TABLE} where ${Todo.COL_ID} = ?", arrayOf(todoId)).toString()
      var contentView=findViewById<TextView>(R.id.add_todo)
      contentView.setText(Content)
  }

   fun submit() {
       var contentView = findViewById<EditText>(R.id.ipt_text)
       var content = contentView.text

      var db=helper.writableDatabase
      btn_saved.setOnClickListener(){
          if(todoId==0){
              if(content.isNotBlank()){
                  db.execSQL(
                      "insert into ${Todo.TABLE} (${Todo.COL_CONTENT}) values (?)",
                      arrayOf(content)
                  )
                  Toast.makeText(this, "保存成功", Toast.LENGTH_SHORT).show()
              }
              else{
                  Toast.makeText(this, "请输入内容", Toast.LENGTH_SHORT).show()
              }
          }
          else {
              //Log.d(TAG,"todoId!=0")
              if (content.isNotBlank()) {
                  db.execSQL(
                      "update ${Todo.TABLE} set ${Todo.COL_CONTENT}=? in ${Todo.TABLE} where ${Todo.COL_ID}=?",
                      arrayOf(content, todoId)
                  )
              }
          }
          val intent = Intent()
          intent.setClass(this,MainActivity::class.java)
          startActivity(intent)
      }
       back_add.setOnClickListener(){
           val intent = Intent()
           intent.setClass(this,MainActivity::class.java)
           startActivity(intent)
       }

  }
  }

//
//
//
//    @SuppressLint("Range")
//    private fun readInDb() {
//
//        val db=helper.readableDatabase
//        val cursor=db.query(Todo.TABLE,null,null,null,null,null,"${Todo.COL_ID} desc")
//        val arr= arrayListOf<Todo>()
//        if(cursor.moveToFirst()){
//            do{
//                arr.add(
//                    Todo(
//                        cursor.getString(cursor.getColumnIndex(Todo.COL_CONTENT)),
//                        cursor.getLong(cursor.getColumnIndex(Todo.COL_TIME)),
//                    ).apply {
//                        id=cursor.getInt(cursor.getColumnIndex(Todo.COL_ID))
//                    }
//                )
//            }while (cursor.moveToNext())
//        }
//        //添加数据并更新
//        adapter.setData(arr)
//        cursor.close()
//    }
//    private fun saveInput() {
//        val text = findViewById<EditText>( R.id.ipt_text).text.toString()
//
////        writeInSp(text)
////        writeInFile(text)
//
//        saveInDb(text)
//    }
//
//    private fun saveInDb(text: String) {
//        val db = helper.writableDatabase
//        val item = Todo(text,System.currentTimeMillis())
//        val values = ContentValues().apply {
//            put(Todo.COL_CONTENT,item.content)
//            put(Todo.COL_TIME,item.createTime)
//        }
//        var rs = -1
//        {
//            rs = db.insert(Todo.TABLE,null,values).toInt()
//            if(rs != -1 ){
//                item.id = rs
//                adapter.addItem(item)
//            }
//        }
//
//        Toast.makeText(this,if(rs < 0) "保存失败" else "保存成功" , Toast.LENGTH_LONG).show()
//
//        // 置空
//        setInputText("")
//
//    }
//    private fun setInputText(text:String){
//        findViewById<EditText>(R.id.ipt_text).setText(text)
//    }
//}